Telegram Group & Telegram Channel
📍 How to: кэширование в Python с помощью flexicache

В Python удобно использовать декораторы для кэширования результатов функций и методов — как в оперативной памяти, так и во временных хранилищах вроде memcached. Один из наиболее гибких инструментов для этого — flexicache из библиотеки fastcore.

flexicache — это декоратор, который поддерживает:
• LRU-кэширование (удаление наименее используемых элементов),
• политику истечения кэша по времени — time_policy,
• инвалидирование кэша при изменении файла — mtime_policy.

➡️ Пример: time_policy
@flexicache(time_policy(0.1))
def random_func():
return randint(1, 1000)

assert random_func() == random_func()
sleep(0.2)
assert random_func() != random_func()


➡️ Пример: mtime_policy. Инвалидирование при изменении файла main.py
@flexicache(mtime_policy('main.py'))
def random_func():
return randint(1, 1000)

Path('main.py').touch() # обновление времени изменения


➡️ Пример: совмещение политик
@flexicache(time_policy(0.1), mtime_policy('main.py'))
def random_func():
return randint(1, 1000)


Кэш сбрасывается либо по времени, либо при обновлении файла — в зависимости от того, что произойдёт первым.

➡️ Пример: LRU-кэширование
@flexicache(maxsize=2)
def random_func(v):
return randint(1, 1000)

random_func(1)
random_func(2)
random_func(3) # результат для аргумента 1 будет удалён


➡️ Пример: удобный timed_cache. Для кэша с таймаутом и ограничением размера
from fastcore.xtras import timed_cache

@timed_cache(0.1, maxsize=2)
def random_func(v):
return randint(1, 1000)


📌 flexicache — гибкий и мощный инструмент для продвинутого кэширования в Python. Поддерживает политики истечения, комбинирование стратегий и заменяет стандартный lru_cache.

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/pyproglib/6711
Create:
Last Update:

📍 How to: кэширование в Python с помощью flexicache

В Python удобно использовать декораторы для кэширования результатов функций и методов — как в оперативной памяти, так и во временных хранилищах вроде memcached. Один из наиболее гибких инструментов для этого — flexicache из библиотеки fastcore.

flexicache — это декоратор, который поддерживает:
• LRU-кэширование (удаление наименее используемых элементов),
• политику истечения кэша по времени — time_policy,
• инвалидирование кэша при изменении файла — mtime_policy.

➡️ Пример: time_policy

@flexicache(time_policy(0.1))
def random_func():
return randint(1, 1000)

assert random_func() == random_func()
sleep(0.2)
assert random_func() != random_func()


➡️ Пример: mtime_policy. Инвалидирование при изменении файла main.py
@flexicache(mtime_policy('main.py'))
def random_func():
return randint(1, 1000)

Path('main.py').touch() # обновление времени изменения


➡️ Пример: совмещение политик
@flexicache(time_policy(0.1), mtime_policy('main.py'))
def random_func():
return randint(1, 1000)


Кэш сбрасывается либо по времени, либо при обновлении файла — в зависимости от того, что произойдёт первым.

➡️ Пример: LRU-кэширование
@flexicache(maxsize=2)
def random_func(v):
return randint(1, 1000)

random_func(1)
random_func(2)
random_func(3) # результат для аргумента 1 будет удалён


➡️ Пример: удобный timed_cache. Для кэша с таймаутом и ограничением размера
from fastcore.xtras import timed_cache

@timed_cache(0.1, maxsize=2)
def random_func(v):
return randint(1, 1000)


📌 flexicache — гибкий и мощный инструмент для продвинутого кэширования в Python. Поддерживает политики истечения, комбинирование стратегий и заменяет стандартный lru_cache.

Библиотека питониста #буст

BY Библиотека питониста | Python, Django, Flask




Share with your friend now:
tg-me.com/pyproglib/6711

View MORE
Open in Telegram


Библиотека питониста | Python Django Flask Telegram | DID YOU KNOW?

Date: |

What is Telegram?

Telegram is a cloud-based instant messaging service that has been making rounds as a popular option for those who wish to keep their messages secure. Telegram boasts a collection of different features, but it’s best known for its ability to secure messages and media by encrypting them during transit; this prevents third-parties from snooping on messages easily. Let’s take a look at what Telegram can do and why you might want to use it.

Dump Scam in Leaked Telegram Chat

A leaked Telegram discussion by 50 so-called crypto influencers has exposed the extraordinary steps they take in order to profit on the back off unsuspecting defi investors. According to a leaked screenshot of the chat, an elaborate plan to defraud defi investors using the worthless “$Few” tokens had been hatched. $Few tokens would be airdropped to some of the influencers who in turn promoted these to unsuspecting followers on Twitter.

Библиотека питониста | Python Django Flask from ms


Telegram Библиотека питониста | Python, Django, Flask
FROM USA